package cn.fl.insurance.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.insurance.dto.InsPlcTypDtlDTO;
import cn.fl.insurance.vo.InsPlcTypDtlVO;

/**
 * @Description: 保单险种明细 转换器
 * VO是客户端传递数据到服务端进行转换的数据
 * VO转换数据变成DTO传递到服务端
 * VO不能在服务端出现
 */
public class InsPlcTypDtlVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto InsPlcTypDtlDTO
     * @return InsPlcTypDtlVO
     */
    public static InsPlcTypDtlVO toVO(InsPlcTypDtlDTO dto) {
        InsPlcTypDtlVO vo = null;
        if (dto != null) {
            vo = new InsPlcTypDtlVO();
            vo.setId(dto.getId());
            vo.setInsPlcId(dto.getInsPlcId());//保单ID
            vo.setInsTypId(dto.getInsTypId());//险种ID
            vo.setInsTypNm(dto.getInsTypNm());//INS_TYP_NM
            vo.setInsAmt(dto.getInsAmt());//保险金额（元）
            vo.setInsFee(dto.getInsFee());//保费金额（元）
            vo.setNonDeduAmt(dto.getNonDeduAmt());//不计免赔金额（元）
            vo.setIsNonDedu(dto.getIsNonDedu());//IS_NON_DEDU
            vo.setPlcTypRem(dto.getPlcTypRem());//PLC_TYP_REM
            vo.setDtlTypCd(dto.getDtlTypCd());//类型：1.投保清单 2.保单 3.批单
            vo.setApprId(dto.getApprId());//批单ID
            vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
            vo.setTypClsCd(dto.getTypClsCd());
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo InsPlcTypDtlVO
     * @return InsPlcTypDtlDTO
     */
    public static InsPlcTypDtlDTO toDTO(InsPlcTypDtlVO vo) {
        InsPlcTypDtlDTO dto = null;
        if (vo != null) {
            dto = new InsPlcTypDtlDTO();
            dto.setId(vo.getId());
            dto.setInsPlcId(vo.getInsPlcId());//保单ID
            dto.setInsTypId(vo.getInsTypId());//险种ID
            dto.setInsTypNm(vo.getInsTypNm());//INS_TYP_NM
            dto.setInsAmt(vo.getInsAmt());//保险金额（元）
            dto.setInsFee(vo.getInsFee());//保费金额（元）
            dto.setNonDeduAmt(vo.getNonDeduAmt());//不计免赔金额（元）
            dto.setIsNonDedu(vo.getIsNonDedu());//IS_NON_DEDU
            dto.setPlcTypRem(vo.getPlcTypRem());//PLC_TYP_REM
            dto.setDtlTypCd(vo.getDtlTypCd());//类型：1.投保清单 2.保单 3.批单
            dto.setApprId(vo.getApprId());//批单ID
            dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
            dto.setTypClsCd(vo.getTypClsCd());
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<InsPlcTypDtl>
     * @return List<InsPlcTypDtlDTO>
     */
    public static List<InsPlcTypDtlVO> toVOList(List<InsPlcTypDtlDTO> list) {
        List<InsPlcTypDtlVO> voList = new ArrayList<InsPlcTypDtlVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (InsPlcTypDtlDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<InsPlcTypDtlVO>
     * @return List<InsPlcTypDtlDTO>
     */
    public static List<InsPlcTypDtlDTO> toDTOList(List<InsPlcTypDtlVO> list) {
        List<InsPlcTypDtlDTO> dtoList = new ArrayList<InsPlcTypDtlDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (InsPlcTypDtlVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
